c# try{} 为什么没有异常也执行 catch啊?

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:39:57
小弟代码如下:
数据库操作。。。。。。
try
{
iptoname.nowname = dt.Rows[0][1].ToString();
MessageBox.Show("nowname="+iptoname.nowname);

Response.Redirect("../Default.aspx");
}
catch
{
MessageBox.Show("您不再局域网内请输入密码");
iptoname.nowname = "";
Response.Redirect("login.aspx");
}
不要这个try catch 只有
iptoname.nowname = dt.Rows[0][1].ToString();
MessageBox.Show("nowname="+iptoname.nowname);
Response.Redirect("../Default.aspx");
的情况下很正常,一加上try messagebox。show也没有问题但是自动执行catch里的东西,这时怎么回事啊

string url = "";
try
{
iptoname.nowname = dt.Rows[0][1].ToString();
MessageBox.Show("nowname="+iptoname.nowname);

url = "../Default.aspx";
}
catch
{
MessageBox.Show("您不再局域网内请输入密码");
iptoname.nowname = "";
url = "login.aspx";
}
finnal
{
Response.Redirect(url);

}
这是最好的解决方法

Response.Redirect去掉这个就行了
原因一会给你
怎么说呢,语言也是人设计的
如果我按照这中思维,觉得你这中写法有点不和逻辑
try中不要response.redirct
试想如果try中页面跳到其它的地方了,后面的程序还怎么执行呢
也就是逻辑错误,那么必然catch一下啊了 呵呵
其它的技术好像不能解释,但是我不会写这样的程序的
catch中可以要response.redirct 这样和逻辑